Ansible2.5 から Ansible 2.6
Python で実装された構成管理ツール Ansibleについて、
各バージョンでの違いをまとめた "Ansible Migration Guide" を翻訳しています。
プレイブック
廃止予定だったのタスクオプション always_run が削除されました。代わりに check_mode:no を使用してください。
非推奨
nxos_igmp_interfaceモジュールでは、oif_prefix および oif_source プロパティは非推奨となりました。
ois_ps パラメータには、値の代わりにソースとプレフィックスの辞書を使うようにしてください。
モジュール
削除されたモジュール
このバージョンで削除されたモジュールはありません。
非推奨モジュール
以下のモジュールは、Ansible 2.10で削除されます。 あなたのプレイブックを更新するようにしてください。
k8s_raw : 代わりに k8s を使うよこと
openshift_raw : 代わりに k8s を使うこと
openshift_scale : 代わりに k8s を使うこと
注目すべきモジュールの変更
win_chocolatey のためのupgradeモジュールオプションが削除されました。 代わりに state: latest を使用します。
win_feature の reboot モジュールオプションが削除されました。 代わりにwin_rebootアクションプラグインを使用してください。
win_iis_webapppoolモジュールは、属性モジュールオプションの文字列を受け入れません。 代わりにフリーフォーム辞書の値を使用してください。
win_package の name モジュールオプションは削除されました。 これはもう使用されていないのでプレイブックから削除するだけです。
win_regedit モジュールは、hiveパスHCCCをHKCCに自動的に修正しません。 これは正しいhiveパスなので、HKCCを使用してください。
fileモジュールの Set属性は、srcに hardまたはlink 以外の状態が指定されている場合、廃止警告が出されるようになりました。 これは、その他の状態のファイルをサブディレクトリ置くための src と他の状態との間にあったバグに依存していた人々に影響を与える可能性があります。
例えば:
code: commandline
$ ansible localhost -m file -a 'path=/var/lib src=/tmp/ state=directory'
上記のようにする代わりに、/tmp/lib という名前のディレクトリを作成します。 単純に次のように目的のディレクトリへのフルパスを指定してください。
code: commandline
$ ansible localhost -m file -a 'path=/tmp/lib state=directory'
k8s_rawとopenshift_rawモジュールは、新しいk8sモジュールとして別名が付けられています。
k8sモジュールは、カスタムリソース定義や集約されたAPIサーバーからのリソースを含むすべてのKubernetesリソースをサポートします。 これには、OpenShiftのすべてのリソースが含まれます。
k8sモジュールは、サブキーがsnake_casedになっているリソースを受け付けません。 これは、k8s_rawおよびopenshift_rawモジュールで提案された回避策でした。
k8sモジュールは、Kubernetes Pythonクライアントの短縮バージョンと一致するようにapi_versionが変更されたリソースを受け付けない可能性があります。 リソースに適切な完全なKubernetes のapi_versionを指定する必要があります。
k8sモジュールはsrcパラメータで渡された複数のYAMLファイルを処理できるようになりました。 これは、各文書を別々のリソースとして処理します。 resource_definitionパラメータとともにインラインで提供されるリソースは、これまで通り単一のドキュメントでなければなりません。
opensshift_rawモジュールのように、k8sモジュールはプロジェクト作成要求をProjectRequest作成要求に自動的に変更しません。 ProjectRequestの種類を明示的に指定する必要があります。
k8s モジュールは、Anible の戻り値(およびログの拡張)から機密情報を自動的に削除しません。 タスクの機密情報の値が記録されないようにするには、タスクブロックで no_log パラメータを指定します。
k8s_scale モジュールは、DeploymentConfig などのスケーラブルなOpenShiftオブジェクトをサポートするようになりました。
lineinfile モジュールは、空の文字列を正規表現として使用するときに警告を表示するように変更されました。 空の正規表現はファイル内のすべての行と一致するため、挿入するのではなくファイルの最後の行を置き換えます。 これが望ましい動作であれば、すべての行に一致する '^' を使用し、警告を表示しません。
Openstack モジュールはShareライブラリを使用しなくなりました。 代わりに openstacksdk が使用されます。 openstacksdk はすでにShadeへの依存関係を解決するための存在するはずなので、追加の修正は必要ありません。
プラグイン
廃止警告
以下のモジュールは、Ansible 2.10で削除されます。 プレイブックを更新するようにしてください。
openshift : 代わりに k8s を使うこと。
注目すべきプラグインの変更
k8s Lookupプラグインは、カスタムリソース定義や集約されたAPIサーバーからのものを含む、すべてのKubernetesリソースをサポートするようになりました。 これには、OpenShiftのすべてのリソースが含まれます。
k8s Lookupプラグインは、Kubernetes Pythonクライアントの短縮バージョンと一致するようにapi_versionが変更されたリソースを受け付けない可能性があります。 リソースに適切な完全Kubernetes api_versionを指定する必要があります。
k8s Lookupプラグインは、Ansibleの戻り値(およびログの拡張)から機密情報を削除しません。 タスクの機密情報の値が記録されないようにするには、タスクブロックで no_log パラメータを指定します。
ネットワーキング
このバージョンで変更されたものはありません。